无法参数化Java swing JComboBox
Eclipse IDE在Jcombobox上显示错误,表示Jcombobox无法参数化 比如下面的线条
private final JComboBox<LaborHelper> labourname = new JComboBox<LaborHelper>();
这里我的项目执行环境是javaSE1。六,
你可以在下面搜索框中键入要查询的问题!
Eclipse IDE在Jcombobox上显示错误,表示Jcombobox无法参数化 比如下面的线条
private final JComboBox<LaborHelper> labourname = new JComboBox<LaborHelper>();
这里我的项目执行环境是javaSE1。六,
# 1 楼答案
看看java 1.6 documentation for JComboxBox,类
JComboxBox
不是Java1.6的通用类它将对象的数组或向量作为用户的选择,并通过调用对象的toString方法来显示它们(因此,如果要自定义标签,必须覆盖它)
要访问用户选择的值,必须按如下方式转换所选项目:
(LaborHelper)labourname.field.getSelectedItem()
然而,this should work with java 1.7+as
JComboxBox
成为了一个泛型类# 2 楼答案
即使在Java7中,也有一个开放的bug:JDK-7067201 : Generics: BasicComboBoxRenderer
# 3 楼答案
在Java 1.7之前,
JComboBox
不支持类型规范(参数化)。因此,在Java1.6或更早版本中,您会遇到编译错误# 4 楼答案
-
JComboxBox
和Type Parameters
随着Java 7的到来而受到的支持,在此之前它不支持类型参数查看此链接:
JComboBox Warning preventing opening the design page in eclipse
# 5 楼答案
好了,你已经知道为什么会出现这个错误了。你怎么摆脱它
注意:这是一个Netbeans解决方案
右键单击
JComboBox
,转到:Properties > Code >
在“代码”选项卡下,可以找到^{
单击其右侧的选项菜单:
当下一个视图打开时,只需删除文本:
点击ok,就这样了
# 6 楼答案
只能参数化泛型类型^{} 没有通用版本
更新
Java 7中提供了通用版本^{} 。您可能需要升级Java版本